<?php
/**
 * Interface des classes de gestion de base de données
 * @author Gaétan Collaud
 */
interface ItfSql {
	/**
	 * Ferme la déconnexion
	 */
	public function close();
	
	/**
	 * Effectue une requête aver retour (SELECT)
	 * @param String $query
	 * @param boolean $fetch_array
	 * @return ItfSqlRessource la ressource
	 */
	public function query($query, $fetch_array = false);
	
	/**
	 * Effectue une requête sans retour (INSERT, UPDATE, DELETE, ...)
	 * @param String $query la requête
	 * @return true si tout est ok
	 */
	public function exec($query);

	/**
	 * Retourne la clé primaire du dernier élément ajouté
	 * @return int la clé primaire
	 */
	public function lastInsertId();

	/**
	 * Echape un text pour l'utiliser dans une requête
	 * @param String $t le texte à échaper
	 * @return String le texte échapé
	 */
	static public function escape($t);

	/**
	 * Retourne le nombre de requêtes effectuées sur la base de donnnées
	 * @return int le nombre de requêtes
	 */
	public function getNbQueries();

	/**
	 * Retourn le temps total nécessaire à la base de données
	 * @return int le temps en seconde
	 */
	public function getTimeTotal();

	/**
	 * Retourne si le type booléen est supporté par ce type de base de données
	 */
	public function isBoolSupport();
}
?>
